#ifndef KOLEJKA_H
#define KOLEJKA_H

#include <list>
#include "Zadanie.h"
using namespace std;

enum typyKolejki {FIFO = 0, LIFO = 1, RANDOM = 2};

class Kolejka
{
      
private:
      list<Zadanie*> zadania; 
      typyKolejki typ;  
      int pojemnosc;
      
public:
       Kolejka();
       Kolejka(typyKolejki t, int _pojemnosc);
       ~Kolejka(void);      

       typyKolejki getTypKolejki(void) { return typ;}
       void setTypKolejki(typyKolejki t) { typ = t;}
       int getPojemnosc() { return pojemnosc; }
       void setPojemnosc(int poj) { pojemnosc = poj; }
       
       void wstawZadanie(Zadanie *z);
       Zadanie* pobierzZadanie(void);
       Zadanie* getZadanie(int poz);
       int liczbaZadanWKolejce() { return zadania.size(); }
       list<Zadanie*>* getZadania() { return &zadania; }
	   bool czyPelna(void) {if (liczbaZadanWKolejce()<pojemnosc) return false; return true;} 
};

#endif
